package leetcode_1100;


/**
 *@author 周杨 
 *PartitionArrayIntoThreePartsWithEqualSum_1020 给一个正整数数组 问能否被划分成三个子数组 子数组的和均位sum/3
 *describe:用数组累加和 找part1和part2的位置即可
 *2019年3月24日 上午11:33
 */
public class PartitionArrayIntoThreePartsWithEqualSum_1020 {
	public boolean canThreePartsEqualSum(int[] A) {
        for(int i=1;i<A.length;++i) {
        	A[i] += A[i-1];
        }
        if(A[A.length-1]%3 != 0)return false;
        int part1 = A[A.length-1]/3;
        int part2 = 2*part1;
        boolean flag1 = false;
        boolean flag2 = false;
        int i = 0;
        while(i < A.length) {
        	if(!flag1 && A[i] == part1) flag2 = true;
        	if(flag2 && A[i] == part2)  return true;
        }
        return false;
    }
}
